package partTwo;
/* 本类用来测试静态代码块*/
public class TestStatic3 {
    public static void main(String[] args) {
        Person2 p = new Person2();
        p.play();
        Person p2 = new Person();

    }
}
// 1.创建Person类
class  Person2{
    //6.创建静态代码块
    static {
        /* 静态代码块stati
         * 位置：类里方法外
         * 执行时机：静态代码块也属于静态资源，随着类的加载而加载，优先于对象加载，并且只加载一次
         * 作用：用于加载那些需要第一时间就加载，并且只需要加载一次的资源，常用量初始化*/
        System.out.println("我是静态代码块");
    }
    //2.创建构造代码块
    {
        //位置：类里方法外
        //执行时机：创建对象时执行，优先构造方法执行
        //作用：用于提取所有构造方法的共性功能
        System.out.println("我是一个构造代码块");
    }
    //3.创建无参构造方式
    public Person2(){

    }
    //4.创建普通方法play
    public void play(){
        System.out.println("我爱玩代码");
        //5.创建局部代码块
        {
            //位置：方法里
            //执行时机：调用其所处的方法时执行
            //作用：用于控制变量的作用范围
            System.out.println("我是一个局部代码块");
        }
    }
}
